#define _CRT_SECURE_NO_WARNINGS
#pragma once
#include <stdio.h>
#include <malloc.h>
#include <assert.h>
#include <memory.h>
#include <stdlib.h>
#include <iostream>
#include <stack>
using namespace std;

#define Type int
typedef struct AVLNode {
	Type data;
	AVLNode *leftChild;
	AVLNode *rightChild;
	int bf;
} AVLNode;

typedef struct AVLTree {
	AVLNode *root;
} AVLTree;

void InitAVLTree(AVLTree *t);
bool insertAVL(AVLTree *t, Type x);